﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebUtils.Controls;
using BussinessLogicTecnoPez.Produccion.FaenamientoEnvasado;
using System.Text;
using BussinessLogicTecnoPez.Produccion.Enfermedades_y_control_de_estanques;

public partial class Modules_FaenamientoEnvasado_ConsultarDisponibilidades : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TPPEmpleado.ObjType = typeof(Empleado);

        GenericMasterPage master = (GenericMasterPage)this.Master;
        master.Imagen = "../Styles/Icons/wordprocessing.png";
        master.Titulo = "Listado de disponibilidades";
    }
    protected void cmdGenerar_Click(object sender, EventArgs e)
    {
        DateTime datInicioDesde;
        DateTime datInicioHasta;
        DateTime datFinDesde;
        DateTime datFinHasta;

        StringBuilder strFiltro = new StringBuilder();

        if (TPCFechaInicioDesde.Text.Trim() != string.Empty && TPCFechaInicioHasta.Text.Trim() != string.Empty)
        {
            if (!DateTime.TryParse(TPCFechaInicioDesde.Text, out datInicioDesde))
            {
                lblError.Text = "Fecha de inicio desde no posee el formato correcto";
                return;
            }
            if (!DateTime.TryParse(TPCFechaInicioHasta.Text, out datInicioHasta))
            {
                lblError.Text = "Fecha de inicio hasta no posee el formato correcto";
                return;
            }

            if (datInicioDesde > datInicioHasta)
            {
                lblError.Text = "La fecha de inicio desde no puede ser superior a la fecha fin hasta.";
                return;
            }
            if (strFiltro.ToString() != string.Empty)
                strFiltro.Append(" AND ");
            strFiltro.Append(" {ASIGNACIONES.FECHADESDE} >= #" + TPCFechaInicioDesde.Text + "#");
            strFiltro.Append(" AND {ASIGNACIONES.FECHADESDE} <= #" + TPCFechaInicioHasta.Text + "#");
        }
        else
        {
            if (TPCFechaFinDesde.Text.Trim() == string.Empty && TPCFechaFinHasta.Text.Trim() != string.Empty)
            {
                lblError.Text = "La fecha fin desde es requerida.";
                return;
            }
            if (TPCFechaFinDesde.Text.Trim() != string.Empty && TPCFechaFinHasta.Text.Trim() == string.Empty)
            {
                lblError.Text = "La fecha fin hasta es requerida.";
                return;
            }
        }

        if (TPCFechaFinDesde.Text.Trim() != string.Empty && TPCFechaFinHasta.Text.Trim() != string.Empty)
        {
            if (!DateTime.TryParse(TPCFechaFinDesde.Text, out datFinDesde))
            {
                lblError.Text = "Fecha fin desde no posee el formato correcto";
                return;
            }
            if (!DateTime.TryParse(TPCFechaFinHasta.Text, out datFinHasta))
            {
                lblError.Text = "Fecha fin hasta no posee el formato correcto";
                return;
            }

            if (datFinDesde > datFinHasta)
            {
                lblError.Text = "La fecha fin desde no puede ser superior a la fecha fin hasta.";
                return;
            }
            if (strFiltro.ToString() != string.Empty)
                strFiltro.Append(" AND ");
            strFiltro.Append(" {ASIGNACIONES.FECHAHASTA} >= #" + TPCFechaFinDesde.Text + "#");
            strFiltro.Append(" AND {ASIGNACIONES.FECHAHASTA} <= #" + TPCFechaFinHasta.Text + "#");
        }
        else
        {
            if (TPCFechaFinDesde.Text.Trim() == string.Empty && TPCFechaFinHasta.Text.Trim() != string.Empty)
            {
                lblError.Text = "La fecha fin desde es requerida.";
                return;
            }
            if (TPCFechaFinDesde.Text.Trim() != string.Empty && TPCFechaFinHasta.Text.Trim() == string.Empty)
            {
                lblError.Text = "La fecha fin hasta es requerida.";
                return;
            }
        }

        if (TPPEmpleado.ItemSelected != null)
        {
            Empleado objEmpleado = TPPEmpleado.ItemSelected as Empleado;
            if (strFiltro.ToString() != string.Empty)
                strFiltro.Append(" AND ");
            strFiltro.Append("{ASIGNACIONES.IDEMPLEADO}=" + objEmpleado.IdEmpleado);
        }

        visorDeReportes vr = new visorDeReportes();

        vr.archivoReporte = new rptAsignaciones();
        vr.paradescript = "";
        vr.paravalor = "";
        vr.selectionFormula = strFiltro.ToString();
        vr.verReporte(Page);

        lblError.Text = "";
    }
}
